#include <iostream>
#include <stack>
using namespace std;
/* 
删除栈中的元素e
 */
void ff(stack<int> &s, int e)
{
    stack<int> t;
    int d;
    while (!s.empty())
    {
        d = s.top();
        s.pop();
        if (d != e)
        {
            t.push(d);
        }
    }
    while (!t.empty())
    {
        s.push(t.top());
        t.pop();
    }
}
int main(int argc, char const *argv[])
{
    stack<int> s;
    int a[] = {1, 2, 3, 4, 6, 7, 8, 9};
    for (int i = 0; i < sizeof(a) / sizeof(int); i++)
    {
        s.push(a[i]);
    }
    ff(s, 2);
    if (!s.empty())
    {
        cout << s.top() << " ";
        s.pop();
    }
    cout << endl;
    return 0;
}
